//
//  FZLBSService
//  LBSDemo
//
//  Created by yanming.huym on 14-4-25.
//  Copyright (c) 2014年 yanming.huym. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <MapKit/MapKit.h>
#import <CoreLocation/CoreLocation.h>

typedef void(^FZLocation2DBlock)(CLLocationDegrees latitude, CLLocationDegrees longtitude);
typedef void(^FZCountryBlock)(NSString *country);
typedef void(^FZCountryCityBlock)(NSString *country, NSString *city);
typedef void(^FZNaviCityBlock)(NSDictionary *dict);
typedef void(^FZLBSBlock)();


@interface SRLocationBaseSService : NSObject

/**
 *  是否能够获取到位置
 *
 *  @return YES，能获取到位置；NO，获取不到位置（没有打开地理位置活没有权限）
 */
- (BOOL)canGetLocation;

/**
 *  地理位置权限被拒绝时的操作
 */
@property (nonatomic,copy) FZLBSBlock permissionDenyBlock;

/**
 *  地理位置不可用时执行的操作
 */
@property (nonatomic, copy) FZLBSBlock disableBlock;

/**
 *  获取经纬度
 *
 *  @param finishBlock block参数中会传入经纬度
 */
- (void)latitudeAndLongtitude:(FZLocation2DBlock )finishBlock failure:(FZLBSBlock)failure;

/**
 *  用苹果的API获取的国家名称，是一个ISO标准的两个字母的国家编号缩写
 *  国家列表见：http://zh.wikipedia.org/wiki/ISO_3166-1
 *
 *  @param finishBlock block参数中会传入国家字母缩写
 */
- (void)appleCountry:(FZCountryBlock)finishBlock failure:(FZLBSBlock)failure;

/**
 *  用苹果API获取到的国家和城市，其中国家是两个字母的缩写
 *
 *  @param finishBlock block中会传入国家缩写和城市名称
 */
- (void)appleCountryCity:(FZCountryCityBlock)finishBlock failure:(FZLBSBlock)failure;

/**
 *  获取本机设置的区域
 *
 *  @return NSString 本机设置的区域
 */
+ (NSString *)localeCountryCode;

@end
